package com.springboot.springmvc01helloworld.controller;


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ResquestMappingLimitController {

    //请求方式：method(限定请求方式)
    /*请求方式：
           GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH、TRACE
    使用POSTMAN来模拟请求*/
    @RequestMapping(value = "/test01", method = RequestMethod.POST)
    public String test01(){
        return "hello01";
    }

    /*限定请求参数:params = {"username","age"}
    username:表示参数中必须有username参数
    age=18:age参数必须等于18*/

    @RequestMapping(value = "/test01", params = "age = 18")
    public String test02(){
        return "hello02";
    }

    /*请求头：headers：{"haha"}
    1.表示请求中有“haha”的请求头
    2.hehe！=1，表明请求头中不能是1（hehe=0，不带hehe）*/

    @RequestMapping(value = "/test03", headers = "haha")
    public String test03(){
        return "hello03";
    }

    /*请求体：consumes = "application/json"
    mediaType：媒体类型
    1.表示请求体中必须为json格式
    2.application/json：json格式
    3.application/xml：xml格式*/
    @RequestMapping(value = "/test04", consumes = "application/json")
    public String test04(){
        return "hello04";
    }

    //响应体：produces = "application/json"
    /*1.表示响应体中必须为json格式
    2.application/json：json格式
    3.application/xml：xml格式*/
    @RequestMapping(value = "/test05", produces = "text/html;charset=utf-8")
    public String test05(){
        return "<h1>hello05</h1>";
    }
}
